Skip to content

docs: publish split HTML manual with GitHub Pages - #10

Merged
mkhellat merged 2 commits into
mkhellat:mainfrom
Ixzu-12:docs/github-pages-html
Nov 12, 2026
Merged

mkhellat merged 2 commits into
mkhellat:mainfrom
Ixzu-12:docs/github-pages-html

Conversation

@Ixzu-12

@Ixzu-12 Ixzu-12 commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Generate split HTML documentation from the Texinfo manual.
  • Add a GitHub Actions workflow to build and publish the manual using GitHub Pages.
  • Include llms.txt in the published site.

Testing

  • Ran ./bootstrap and ./configure successfully in Ubuntu WSL.
  • Ran make and make -C docs html successfully.
  • Verified the generated HTML index at docs/codebud.html/index.html.
  • Verified that the site contains index.html and llms.txt.

Notes

The GitHub Actions workflow still needs CI validation, and GitHub Pages must be configured to allow deployment through GitHub Actions.

@mkhellat mkhellat self-assigned this Oct 29, 2026
@mkhellat
mkhellat self-requested a review October 30, 2026 04:53

@mkhellat mkhellat left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed by building the workflow end-to-end in an isolated checkout of this branch (68c43db). Thanks — the approach is sound and the security scoping is correct, but there's one blocking defect that stops it from ever publishing.

Blocker — output directory name mismatch (Prepare site step fails).
make html with --split=node produces docs/codebud.html/ (dot). The build step correctly asserts test -f docs/codebud.html/index.html, but the next step copies from docs/codebud_html/ (underscore):

cp -a docs/codebud_html/. site/

Run verbatim, this fails with cp: cannot stat 'docs/codebud_html/.': No such file or directory, the step aborts (run: uses bash -e), and site/index.html is never created — so on main the artifact upload and Pages deploy never happen. The repo's own .gitignore (line 34) tracks docs/codebud.html, confirming the dot form is correct; this PR's own Testing notes also cite docs/codebud.html/index.html.

Fix: change the copy source to docs/codebud.html/.. With that one change I verified site/ is populated correctly and site/index.html + site/llms.txt are present.

Verified and correct (no change needed):

  • --no-split → --split=node in docs/Makefile.am: builds cleanly, produces the split manual.
  • make html is a valid top-level target; configure deps (requests prompt_toolkit) are sufficient.
  • Trigger model: push/pull_request on main (path-filtered) + workflow_dispatch.
  • Security scoping is right: top-level permissions: contents: read; pages: write/id-token: write are confined to the deploy job, which — together with the artifact upload — is gated if: github.event_name != 'pull_request', so a PR only builds (no deploy, no privileged token, no secrets). Uses pull_request, not pull_request_target.

Before merge (maintainer action, not a code change): GitHub Pages must be set to "GitHub Actions" as source, or the deploy job fails on main.

Requesting changes for the one-line path fix; everything else looks good.

@mkhellat
mkhellat force-pushed the docs/github-pages-html branch from b2673b0 to 7cee3c8 Compare November 12, 2026 15:54

@mkhellat mkhellat left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for addressing the path mismatch (docs/codebud.html/ vs docs/codebud_html/). I have verified the fix and rebased this branch onto current main so it is merge-ready (2 commits ahead, no conflicts).

Please note for future contributions: when a review requests a blocking change, it helps to follow up promptly so the PR does not sit idle for an extended period. Aside from that delay, the change itself looks good.

Approving.

@mkhellat
mkhellat merged commit 305dad9 into mkhellat:main Nov 12, 2026
@Ixzu-12

Ixzu-12 commented Nov 13, 2026 via email

Copy link
Copy Markdown
Contributor Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants